There is a continual market demand for more size and speed efficient computer program code. Compiler optimisation is a transformation of code which tries to minimize or maximize some attributes of an executable computer program, most often to minimize execution time and memory space occupied by the resulting executable computer program code.
Initialisation code is used within embedded applications to configure and setup ports, physical addresses, etc. and typically involves the initialisation of local and/or global variables, including structures and classes, with constants. Conventionally, such initialisation usually results in multiple assignments of constants to variables in contiguous memory locations. Such multiple assignments of constants is often inefficient in terms of both code size and code speed.
Whilst this problem is particularly relevant in embedded applications, it is not limited to such applications.